package com.neusoft.neumooc.service;

import java.util.List;
import java.util.Map;

import com.neusoft.core.common.exception.ServiceException;
import com.neusoft.neumooc.VO.GoodsVO;


/** 
 * @ClassName: GoodsService 
 * @Description: TODO 商品管理业务逻辑处理类
 * @author zls
 * @date 2016年10月27日
 */
public interface GoodsService {

	
	/** 
	 * @Title: getGoodsList 
	 * @Description: TODO 获得商品列表
	 * @param pageIndex 起始页数
	 * @param pageSize 页面大小
	 * @return List
	 * @throws ServiceException
	 */
	public List<GoodsVO> getGoodsList(int pageIndex, int pageSize) throws ServiceException;

	
	/** 
	 * @Title: getGoodsCount 
	 * @Description: TODO 获得商品列表计数
	 * @return int
	 * @throws ServiceException
	 */
	public int getGoodsCount() throws ServiceException ;

	
	/** 
	 * @Title: addGoods 
	 * @Description: TODO 增加商品
	 * @param goodsVO 商品实体类
	 * @return int
	 * @throws ServiceException
	 */
	public int addGoods(GoodsVO goodsVO) throws ServiceException;
	
	
	/** 
	 * @Title: getGoodsInfo 
	 * @Description: TODO 获得商品详细信息
	 * @param id 商品ID
	 * @return Map
	 * @throws ServiceException
	 */
	public Map<String, Object> getGoodsInfo(String id) throws ServiceException;

	
	/** 
	 * @Title: updateGoods 
	 * @Description: TODO 更改商品
	 * @param goodsVO 商品实体类
	 * @return int
	 * @throws ServiceException
	 */
	public int updateGoods(GoodsVO goodsVO) throws ServiceException;
	
	
	/** 
	 * @Title: deleteGoods 
	 * @Description: TODO 删除商品
	 * @param id 商品ID
	 * @return int
	 * @throws ServiceException
	 */
	public int deleteGoods(String id) throws ServiceException;


	/** 
	 * @Title: getGoodsMsg 
	 * @Description: TODO 获得商品详细内容
	 * @param id 商品ID
	 * @return List
	 * @throws ServiceException
	 */
	public List<GoodsVO> getGoodsMsg(String id) throws ServiceException;

	
	/** 
	 * @Title: getListByMenu 
	 * @Description: TODO 获得分类下的商品
	 * @param menuId 分类ID
	 * @return List
	 * @throws ServiceException
	 */
	public List<GoodsVO> getListByMenu(int pageIndex, int pageSize, String menuId) throws ServiceException;

	
	/** 
	 * @Title: getMenuGoodsCount 
	 * @Description: TODO 获得分类下的商品计数
	 * @param menuId 分类ID
	 * @return int
	 * @throws ServiceException
	 */
	public int getMenuGoodsCount(String menuId) throws ServiceException;

}
